iT邦幫忙

2023 iThome 鐵人賽

DAY 2
0
Modern Web

FastAPI 入門30天系列 第 2

Day-2 FastAPI 介紹

  • 分享至 

  • xImage
  •  

Day-2 FastAPI 介紹

https://ithelp.ithome.com.tw/upload/images/20230907/20152669S7i7x46pIP.png

FastAPI 是近年熱門的一個 python web框架,從名字就可以知道,這是為了 API 而生的框架。

該專案在2018首次發佈,並因為其簡單好上手、高效能、高穩定等特性,使它飛快的受到開發人員的歡迎。

起因

FastAPI 的作者 Sebastián Ramírez ( tiangolo (Sebastián Ramírez) (github.com) ) 在發佈該專案前,領導幾個開發團隊,一直在創建有複雜需求的API ( ex. 機器學習、分散式運算、非同步處理、NoSQL等等 )。

他在團隊中需要去評估測試許多不同的替代方案。在還沒創造 FastAPI 之前,Sebastián 一直在避免創造一個新的框架,而是使用各種框架、套件等等進行組合來獲得需要的功能。

但最終還是別無選擇,將各個替代方案、套件、工具等等去蕪存菁,創造出了 FastAPI。

Sebastián 也提到,沒有這些前人的努力,就不會有 FastAPI 的誕生。

特點

  • 高效能:基於 Starlette 和 Pydantic 開發,支援非同步操作,使其擁有可與NodeJS、Go並肩的高效能,是最快的Python Web框架之一。
  • 可用度高:可用於生產環境的程式碼,還有自動產生的API文件。
  • 代碼簡短:FastAPI 致力於複用程式碼,透過不同的參數定義實現不同的功能,減少BUG產生。
  • 容易上手:整體設計易於使用和學習,官方文件教學豐富,學習門檻極低。
  • 符合標準:基於 ( 並兼容 ) API的相關公開標準:OpenAPI 和 JSON Schema。

小結

筆者使用過 Flask、Django、FastAPI 三種框架,目前使用起來 FastAPI 最為順手,故將其定為本次鐵人賽的主題。

FastAPI 與 Flask 的用法十分接近,若有接觸過 Flask 的讀者們皆可以輕鬆上手,並且比起 Flask 多了可以非同步的操作,使得 FastAPI 的性能十分的強大。

若是想建置小型專案,或是想建置微服務的讀者們,可以嘗試看看 FastAPI,相信 FastAPI 可以滿足你們的需求。


上一篇
Day-1 大致方向與基礎知識
下一篇
Day-3 FastAPI的 HelloWorld
系列文
FastAPI 入門30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言